//package com.tom.jmgd.service.impl;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.tom.jmgd.common.HttpClientUtil;
//import com.tom.jmgd.dao.huobanSyncDataDao;
////import com.tom.jmgd.dao.huobanSysConfigDao;
//import com.tom.jmgd.entity.param.huoban.huobanDownloadData;
////import lombok.extern.slf4j.Slf4j;
//import com.tom.jmgd.entity.param.huoban.huobanSynData;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import java.text.MessageFormat;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.*;
//
////@Slf4j
//@Component
//public class HuobanUnit {
//    private final String appId="1001855";
//    private final String appSecret="cnDcTvBHSluxn7do5Ir6hRY9YgTkvX5PD8Piyu5u";
//    private final String createURL = "https://api.huoban.com/v2/item/table/T::{0}/create";
//    private final String selectURL = "https://api.huoban.com/v2/item/table/{0}/find";
//    private final String updateURL = "https://api.huoban.com/v2/item/{0}";
//    private final String deleteURL = "https://api.huoban.com/v2/item/table/{0}/delete";
//    private String ticket;
//    private int nTicketDate;
//    private String aliasSpaceId;
////    @Autowired
////    huobanSysConfigDao configDao;
//    @Autowired
//    huobanSyncDataDao dataDao;
//
//    private  void logInfo(String logCode,String logName,String msg) {
////        configDao.insertSysLog(logCode + "-" + logName,
////                 "2c9280a26706a73a016706a93ccf002b","2c9280a26706a73a016706a93ccf002b"
////                ,logCode,logName,"S",msg);
////    }
////    private  void logError(String logCode,String logName,String msg) {
////        configDao.insertSysLog(logCode + "-" + logName,
////                "2c9280a26706a73a016706a93ccf002b","2c9280a26706a73a016706a93ccf002b"
////                ,logCode,logName,"F",msg);
//    }
//    /**
//     * 返回明天
//     * @param today
//     * @return
//     */
//    private Date addDay(Date today,int day) {
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(today);
//        calendar.add(Calendar.DAY_OF_MONTH,day);
//        return calendar.getTime();
//    }
//    private Date addHour(Date today,int hours) {
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(today);
//        calendar.add(Calendar.HOUR_OF_DAY,hours);
//        return calendar.getTime();
//    }
//    private Date getNextExeTime(String frequency) {
//        Date currdate = new Date();
//        Date next;
//        switch (frequency) {
//            case "DAY":
//                next = addDay(currdate,1);
//                break;
//            case "HOUR":
//                next = addHour(currdate,1);
//                break;
//            default:
//                next = addDay(currdate,1);
//        }
//        return next;
//    }
//    private Date formatDate(Date date) throws ParseException {
//        Date currdate = null;
//        if(date != null) {
//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH");
//            String nextExtTime = df.format(date);
//            currdate = df.parse(nextExtTime);
//        }
//        return currdate;
//    }
//    private void deleteData(String tableNameId,String where) throws Exception {
//        String url = MessageFormat.format(deleteURL,tableNameId);
//        JSONObject whereObj = JSONObject.parseObject(where);
//        Map<String, Object> responseMap = postSynData(url, whereObj);
//        if(Integer.valueOf(responseMap.get("statusCode").toString()) != 0) {
//            //log.error("------删除接口数据失败，失败原因：" + responseMap.get("msg").toString());
//            //logError("deleteData", "删除接口数据", "表【" + tableNameId +"】删除接口数据，失败原因：" + responseMap.get("msg").toString());
//            throw new Exception("表【" + tableNameId + "】删除失败");
//        }
//    }
//    private String getFieldValue(String filter) {
//        int idxStart = filter.indexOf("\"");
//        int idxEnd = filter.indexOf("\"",idxStart+1)+1;
//        String field = filter.substring(idxStart,idxEnd);
//
//        idxStart = idxEnd;
//        idxEnd = filter.indexOf("\"",idxStart);
//        String filterCode = filter.substring(idxStart,idxEnd).trim();
//        String filterName;
//        switch (filterCode) {
//            case ">":
//                filterName ="gt";
//                break;
//            case ">=":
//                filterName ="gte";
//                break;
//            case "=":
//                filterName ="eq";
//                break;
//            case "<":
//                filterName ="lt";
//                break;
//            case "<=":
//                filterName ="lte";
//                break;
//            case "!=":
//                filterName ="ne";
//                break;
//            default:
//                filterName = filterCode;
//        }
//        idxStart = idxEnd;
//        idxEnd = filter.indexOf("\"",idxStart+1)+1;
//        String value = filter.substring(idxStart,idxEnd);
//        String filterConditions = "{\"field\":" + field +",\"query\": {\"" + filterName + "\":" + value + "}}";
//        return filterConditions;
//    }
//    private void deleteinitData(String tableNameId,String filterConditions) throws Exception {
//        Date date = addDay(new Date(),-60);
//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//        String cleanDate = df.format(date);
//        String sFilterConditions = filterConditions.trim().replace("CLEAN_DATE",cleanDate);
//
//        String[] filterGroups = sFilterConditions.trim().split(";");
//        String[] filters;
//
//        String strFilter;
//        for(int i=0;i<filterGroups.length;i++) {
//            filters = filterGroups[i].trim().split(" and ");
//            strFilter = "";
//            for(int j=0;j<filters.length;j++) {
//                if(j==0) {
//                    strFilter += getFieldValue(filters[j]);
//                }else {
//                    strFilter += "," + getFieldValue(filters[j]);
//                }
//            }
//            String where = "{\"where\": {\"and\": [" + strFilter + "]}}";
//            deleteData(tableNameId,where);
//        }
//
//    }
//    private void insertDownloadInterface(huobanDownloadData downloadData) {
//        dataDao.insertDownloadInterface(downloadData.getItemId(),
//                downloadData.getTableName(),
//                downloadData.getFeildValue(),
//                downloadData.getStatus(),
//                downloadData.getColValue1(),
//                downloadData.getColValue2(),
//                downloadData.getColValue3(),
//                downloadData.getColValue4(),
//                downloadData.getColValue5(),
//                downloadData.getColValue6(),
//                downloadData.getColValue7(),
//                downloadData.getColValue8(),
//                downloadData.getColValue9(),
//                downloadData.getColValue10(),
//                downloadData.getColValue11(),
//                downloadData.getColValue12(),
//                downloadData.getColValue13(),
//                downloadData.getColValue14(),
//                downloadData.getColValue15(),
//                downloadData.getColLongValue16());
//    }
//    private void insertUser(List<Map<String,Object>> userList) {
//        huobanDownloadData downloadData = new huobanDownloadData();
//        String telephoneNum;
//        for(Map<String,Object> m :userList) {
//            telephoneNum = m.get("user.telephone_num")==null?"":m.get("user.telephone_num").toString();
//            downloadData.setItemId(m.get("itemId").toString());
//            downloadData.setTableName("user");
//            downloadData.setFeildValue(telephoneNum);
//            downloadData.setStatus("S");
//            downloadData.setColValue1(m.get("user.user_name")==null?"":m.get("user.user_name").toString());
//            downloadData.setColValue2(telephoneNum);
//            downloadData.setColValue3(m.get("user.email")==null?"":m.get("user.email").toString());
//            downloadData.setColValue4(m.get("user.openID")==null?"":m.get("user.openID").toString());
//            downloadData.setColValue5(m.get("user.unionID")==null?"":m.get("user.unionID").toString());
//            downloadData.setColValue6(m.get("user.wx_user_name")==null?"":m.get("user.wx_user_name").toString());
//            downloadData.setColValue7(m.get("user.wx_sex")==null?"":m.get("user.wx_sex").toString());
//            downloadData.setColValue8(m.get("user.wx_province")==null?"":m.get("user.wx_province").toString());
//            downloadData.setColValue9(m.get("user.wx_city")==null?"":m.get("user.wx_city").toString());
//            downloadData.setColValue10(m.get("user.role")==null?"":m.get("user.role").toString());
//            insertDownloadInterface(downloadData);
//        }
//    }
//    private List<Map<String,Object>> getResponseData(JSONObject response) {
//        JSONObject item;
//        JSONObject field;
//        JSONArray fields;
//        String alias;
//        String type;
//        String value;
//        List<Map<String,Object>> dataList = new ArrayList<>();
//        String itemId;
//        if(response != null) {
//            if (response.getInteger("filtered") > 0) {
//                JSONArray items = response.getJSONArray("items");
//                for (int i = 0; i < items.size(); i++) {
//                    item = items.getJSONObject(i);
//                    fields = item.getJSONArray("fields");
//                    if(fields != null) {
//                        itemId = item.getString("item_id");
//                        Map<String,Object> data = new HashMap<>();
//                        data.put("itemId",itemId);
//                        for(int j=0;j<fields.size();j++) {
//                            field = fields.getJSONObject(j);
//                            if(field != null) {
//                                alias = field.getString("alias");
//                                type =  field.getString("type");
//                                value = getFieldValue(type,field.getJSONArray("values"));
//                                data.put(alias,value);
//                            }
//                        }
//                        dataList.add(data);
//                    }
//                }
//            }
//        }
//        return dataList;
//    }
//    private String getFieldValue(String type,JSONArray values) {
//        JSONObject value;
//        String fieldValues="";
//        String prx=",";
//        if(values != null) {
//            for(int i=0;i<values.size();i++) {
//                value = values.getJSONObject(i);
//                if(StringUtils.equals("category",type)) {
//                    fieldValues += (i==0?"":prx) + value.get("name").toString();
//                }
//                else {
//                    fieldValues += (i==0?"":prx) + value.get("value").toString();
//                }
//            }
//        }
//        return fieldValues;
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 获取伙伴云用户数据
//     */
//    private void queryHuobanUser(String tableNameId) throws Exception {
//        //////2100000014671425 :用户表id
//        String url = MessageFormat.format(selectURL,tableNameId);
//        /////清除接口表数据
//        dataDao.deleteDownloadInterface("user");
//
//        /////查询条件
//        JSONObject whereObj;
//        List<Map<String,Object>> dataList;
//        String whereSql = "";
//        Date currDate = addDay(new Date(),-360);///
//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//        whereSql = "{\n" +
//                "\"select\": [2200000142769406, 2200000142769407, 2200000142769408, 2200000142769409, 2200000142769410, 2200000142769411, 2200000142769412, 2200000142769413, 2200000142769414, 2200000142769415],\n" +
//                "\"where\": {\"and\": [{\"field\": \"updated_on\",\"query\": {\"gte\": \"" + df.format(currDate) +"\"}}]}\n" +
//                "}\n";
//        whereObj = JSONObject.parseObject(whereSql);
//        Map<String, Object> responseMap = postSynData(url, whereObj);
//        if(Integer.valueOf(responseMap.get("statusCode").toString()) == 0) {
//            JSONObject response = JSONObject.parseObject(responseMap.get("data").toString());
//            dataList = getResponseData(response);
//            insertUser(dataList);
//        }
//        else {
//            //log.error("------同步伙伴云的外部用户失败，失败原因：" + responseMap.get("msg").toString());
//            logError("queryHuobanUser", "同步外部用户", "同步伙伴云的外部用户失败，失败原因：" + responseMap.get("msg").toString());
//        }
//    }
//    private int getCurrentDateInt() {
//        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
//        int currInt = Integer.valueOf(df.format(new Date()));
//        return currInt;
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 获取伙伴云ticket
//     */
//    public  String getTicket() {
//        Map<String,String> params = new HashMap<String, String>();
//        String url = "https://api.huoban.com/v2/ticket?application_id=" + appId + "&application_secret=" + appSecret;
//        Map<String,Object> rsMap;
//        String rs;
//        ////设置参数
//        params.put("Content-Type","application/json;charset=UTF-8");
//        rsMap = HttpClientUtil.doPost(url,params,null);
//        if((Integer)rsMap.get("statusCode") == 0) {
//            JSONObject jsonObj = JSONObject.parseObject(rsMap.get("data").toString());
//            rs = jsonObj.getString("ticket");
//            nTicketDate = getCurrentDateInt();
//        }
//        else {
//            rs = "-1";
//            nTicketDate = 0;
//        }
//        return rs;
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 获取伙伴云在云枢的需要同步的列表
//     */
//    private List<String> getSynTable() {
//        List<String> tableList = dataDao.getSynTableName();
//        return tableList;
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 获取需要同步的数据
//     */
//    private List<huobanSynData> getSynData(String tableName,String status) {
//        List<huobanSynData> dataList = dataDao.getSyncData(tableName,status);
//        return dataList;
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 将数据转换成json
//     */
//    private void postInsertJson(String tableName, List<huobanSynData>  recordList, JSONObject jsonData) throws Exception {
//        ////处理同步数据
//        if(jsonData != null) {
//            ////开始同步
//            String inUrl = MessageFormat.format(createURL,tableName);
//            Map<String, Object> responseMap  = postSynData(inUrl, jsonData);
//            huobanSynData data = null;
//            int statusCode = (Integer) responseMap.get("statusCode");
//            if ( statusCode == 0) {
//                ///同步结果新增回同步表中
//                JSONArray response = JSONArray.parseArray(responseMap.get("data").toString());
//                JSONObject temp;
//                for (int i = 0; i < recordList.size(); i++) {
//                    temp = response.getJSONObject(i);
//                    data = recordList.get(i);
//                    if(StringUtils.isNotEmpty(temp.getString("item_id"))) {
//                        data.setStatus("S");
//                        data.setItem_id(temp.getString("item_id"));
//                        updateSynStatus(data.getSyn_record_id(),data.getItem_id(),"S");
//                    }
//                }
//                /////伙伴云连续同步，会有被拒绝，所以暂停30秒
////                try { Thread.sleep (30000) ;
////                } catch (InterruptedException ie){}
//
//            } else{
//               throw new Exception("表【" + tableName + "】新增数据失败，失败原因：" + responseMap.get("msg").toString());
//            }
//        }
//    }
//    private JSONObject createJsonData(huobanSynData data) {
//        JSONObject jsonItem = new JSONObject();
//        try {
//                if (StringUtils.isNotEmpty(data.getJson_data())) {
//                    jsonItem.put("fields",JSONObject.parseObject(data.getJson_data()));
//                }
//            return jsonItem;
//        }catch (Exception e) {
//            //log.error("------------数据转换json出错:" + data.getJson_data());
//            logError("createSynJsnoObj","数据转换json出错",data.getJson_data());
//            return  null;
//        }
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 向伙伴云同步数据
//     */
//    private Map<String,Object> postSynData(String url,JSONObject synData) throws Exception {
//        Map<String,Object> responseMap=null;
//        Map<String,String> params = new HashMap<String, String>();
//        ////设置参数
//        params.put("Content-Type","application/json;charset=UTF-8");
//        ////设置ticket
//        int nCurrDate = getCurrentDateInt();
//        if(StringUtils.isEmpty(ticket) || nTicketDate != nCurrDate) {
//            ticket = getTicket();
//            if (StringUtils.isEmpty(ticket)) {
//                //log.error("同步伙伴云时,ticket为空--------------");
//                logError("putSynData", "同步数据", "ticket为空");
//                throw new Exception("ticket为空");
//            }
//        }
//        params.put("X-Huoban-Ticket",ticket);
//        params.put("X-Huoban-Return-Alias-Space-Id",aliasSpaceId);
//        responseMap = HttpClientUtil.doPost(url,params,synData);
//        if((Integer) responseMap.get("statusCode") != -1) {
//            if(StringUtils.isNotEmpty(responseMap.get("data").toString())) {
//                Object json = JSON.parse(responseMap.get("data").toString());
//                if (json instanceof JSONObject) {
//                    JSONObject jsonObj = JSONObject.parseObject(responseMap.get("data").toString());
//                    if (jsonObj.get("code") != null) {
//                        responseMap.put("statusCode", -1);
//                        responseMap.put("msg", jsonObj.getString("message"));
//                    }
//                }
//            }
//        }
//        return responseMap;
//    }
//    private Map<String,Object> putSynData(String url,JSONObject synData) throws Exception {
//        Map<String,Object> responseMap=null;
//        Map<String,String> params = new HashMap<String, String>();
//        ////设置参数
//        params.put("Content-Type","application/json;charset=UTF-8");
//        ////设置ticket
//        int nCurrDate = getCurrentDateInt();
//        if(StringUtils.isEmpty(ticket) || nTicketDate != nCurrDate) {
//            ticket = getTicket();
//            if (StringUtils.isEmpty(ticket)) {
//                //log.error("同步伙伴云时,ticket为空--------------");
//                logError("putSynData", "同步数据", "ticket为空");
//                throw new Exception("ticket为空");
//            }
//        }
//        params.put("X-Huoban-Ticket",ticket);
//        params.put("X-Huoban-Return-Alias-Space-Id",aliasSpaceId);
//        responseMap = HttpClientUtil.doPut(url,params,synData);
//        if((Integer) responseMap.get("statusCode") != -1) {
//            if(StringUtils.isNotEmpty(responseMap.get("data").toString())) {
//                Object json = JSON.parse(responseMap.get("data").toString());
//                if (json instanceof JSONObject) {
//                    JSONObject jsonObj = JSONObject.parseObject(responseMap.get("data").toString());
//                    if (jsonObj.get("code") != null) {
//                        responseMap.put("statusCode", -1);
//                        responseMap.put("msg", jsonObj.getString("message"));
//                    }
//                }
//            }
//        }
//        return responseMap;
//    }
//
//    ///更新状态
//    private void updateSynStatus(int syn_record_id,String item_id,String status) {
//        dataDao.updateSyncStatus(syn_record_id,item_id,status);
//    }
//
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 向伙伴云同步新增数据
//     */
//    private void createSynData(String tableName,List<huobanSynData> inDataList) throws Exception {
//        JSONObject jsonItem = new JSONObject();
//        JSONArray  jsonArr = new JSONArray();
//        List<huobanSynData>  recordList = new ArrayList<>();
//        JSONObject temp;
//        int  count = 0;
//
//        for (huobanSynData data : inDataList) {
//                if (StringUtils.isNotEmpty(data.getJson_data())) {
//                    temp = new JSONObject();
//                    temp.put("fields", JSONObject.parseObject(data.getJson_data()));
//                    jsonArr.add(temp);
//                    recordList.add(data);
//                    count++;
//                }
//                ////180行同步一次
//                if(count >= 180) {
//                    jsonItem.put("items", jsonArr);
//                    postInsertJson(tableName,recordList,jsonItem);
//                    count = 0;
//                    jsonArr = new JSONArray();
//                    jsonItem = new JSONObject();
//                    recordList = new ArrayList<huobanSynData>();
//                }
//            }
//            if(count > 0) {
//                jsonItem.put("items", jsonArr);
//                postInsertJson(tableName,recordList,jsonItem);
//            }
//
//
//    }
//    ////每一张表的数据同步入口
//    private void synTableData(String tableName) throws Exception {
//        List<huobanSynData> dataList = null;
//        dataList = getSynData(tableName,"I");
//        if(dataList != null) {
//            try {
//                createSynData(tableName, dataList);
//                logInfo("synTableData", "同步新增数据", "表【" + tableName + "】同步伙伴云成功,新增" + dataList.size() + "条数据");
//            }catch (Exception e1) {
//                e1.printStackTrace();
//                logError("synTableData", "同步新增数据", "表【" + tableName + "】同步伙伴云出错,出错原因:" + e1.getMessage());
//            }
//        }
//
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 伙伴云数据同步主接口，调起数据同步
//     */
//    private void uploadData() {
//        ////获取需要同步的表
//        try {
//            String synType,filterConditions;
//            String tableNameId;
//            List<String> tableList = getSynTable();
//            String currDate,oldDate;
//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//            currDate = df.format(new Date());
//            if (tableList != null) {
//                ////循环读取同步的表
//                  for (String tableName : tableList) {
//                      ////设置aliasSpaceId参数
//                      Map<String, String> tableInfo = configDao.getSyncTableInfo(tableName);
//                      if (tableInfo != null) {
//                          aliasSpaceId = tableInfo.get("alias_space_id");
//                          synType = tableInfo.get("syn_type");
//                          filterConditions = tableInfo.get("filter_conditions");
//                          tableNameId = tableInfo.get("table_name_id");
//                          oldDate = tableInfo.get("next_exe_time");
//                          if (StringUtils.isNotEmpty(aliasSpaceId)) {
//                              ////开始同步数据
//                              if (StringUtils.equals(synType, "Yes")) {
//                                  /////全量，需要清伙伴云的数据，但由于批次不停的执行，防止把当天已上传的数据删除掉
//                                  /////所以当天已经在伙伴云删除过一次后，就不再执行删除操作
//                                  if (StringUtils.isEmpty(oldDate) || !StringUtils.equals(currDate, oldDate)) {
//                                      deleteinitData(tableNameId, filterConditions);
//                                  }
//                              }
//                              synTableData(tableName);
//                              ///更新下一次执行的时间
//                              configDao.updateSyncNextExcTime(tableInfo.get("id"), currDate);
//                          } else {
//                              logError("uploadData", "同步主流程", "表【" + tableName + "】的aliasSpaceId为空！此表无法同步！");
//                          }
//                      } else {
//                          logError("uploadData", "同步主流程", "表【" + tableName + "】的aliasSpaceId为空！此表无法同步！");
//                      }
//                  }
//            }
//        }
//        catch (Exception e) {
//            logError("uploadData", "同步主流程", "结束数据同步，发生错误：" + e.getMessage());
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 上传用户
//     */
//    private void uploadUserData() {
//        ////获取需要同步的表
//        try {
//            String currDate;
//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//            currDate = df.format(new Date());
//            ////设置aliasSpaceId参数
//            Map<String,String> tableInfo = configDao.getSyncTableInfo("user");
//            if(tableInfo != null) {
//                    ////获取外部用户
//                    synTableData("user");
//                    ///更新下一次执行的时间
//                    configDao.updateSyncNextExcTime(tableInfo.get("id"), currDate);
//            } else {
//                logError("uploadUserData", "上传数据主流程", "表【user】的aliasSpaceId为空！此表无法同步！");
//            }
//        }
//        catch (Exception e) {
//            logError("uploadUserData", "上传数据主流程", "结束数据同步，发生错误：" + e.getMessage());
//        }
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 伙伴云数据同步主接口，下载用户数据
//     */
//    private void downloadUserData() {
//        ////获取需要同步的表
//        try {
//            String tableNameId;
//            ////设置aliasSpaceId参数
//            Map<String,String> tableInfo = configDao.getSyncTableInfo("user");
//            if(tableInfo != null) {
//                aliasSpaceId = tableInfo.get("alias_space_id");
//                tableNameId = tableInfo.get("table_name_id");
//                if(StringUtils.isNotEmpty(aliasSpaceId)) {
//                    ////获取外部用户
//                    queryHuobanUser(tableNameId);
//                }
//                else {
//                    logError("queryDataMain", "下载数据主流程", "表【user】的aliasSpaceId为空！此表无法同步！");
//                }
//            } else {
//                logError("queryDataMain", "下载数据主流程", "表【user】的aliasSpaceId为空！此表无法同步！");
//            }
//        }
//        catch (Exception e) {
//            logError("queryDataMain", "下载数据主流程", "结束数据同步，发生错误：" + e.getMessage());
//        }
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 上传主数据
//     */
//    public void syncBusinessMain() {
//        logInfo("syncBusinessMain", "同步业务数据流程", "开始将数据上传至伙伴云");
//        ////执行数据库过程，将业务表的数据同步至接口表
//        dataDao.syncBusinessMain();
//        ////将接口表的数据同步至伙伴云
//        uploadData();
//        logInfo("syncBusinessMain", "同步业务数据流程", "同步业务数据完成");
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 上传主数据
//     */
//    public void syncRightData() {
//        logInfo("syncRightData", "上传权限数据", "开始将数据上传至伙伴云");
//        ////执行数据库过程，将业务表的数据同步至接口表
//        dataDao.syncRightData();
//        ////将用户主数据同步至伙伴云
//        uploadUserData();
//        ////将今天上传的用户ID更新至业务表
//        dataDao.updateRightData();
//        logInfo("syncRightData", "上传权限数据", "同步权限数据完成");
//    }
//    /**
//     * @author kwong
//     * @date 2021-4-2
//     * @content 上传主数据
//     */
//    public void queryRightData() {
//        logInfo("queryRightData", "下载权限数据", "开始将数据下载至H2");
//        ////从伙伴云中下载需要下的数据
//        downloadUserData();
//        ////执行数据库过程，将从接口表的数据同步至用户表
//        dataDao.queryRightData();
//        logInfo("queryRightData", "下载权限数据", "同步权限数据完成");
//    }
//}
